package com.littlebee.storychild.common.http;

/**
 * author: xiejia
 * created at 2016/8/4 14:33
 * description:回调监听器HttpCallbackListener，回调监听器的泛型则是返回的对象数据类型
 */
public interface HttpCallbackListener<T> {

    /**
     * 成功时调用
     *
     * @param requestCode 请求码
     * @param data        返回的全部数据
     * @param model       返回的泛型model
     */
    void onSuccess(int requestCode, T data, T model);

    /**
     * 失败时调用
     *
     * @param requestCode 请求码
     * @param message     错误信息
     */
    void onFailure(int requestCode, String message);

    /**
     * token失效时调用
     *
     * @param requestCode 请求码
     * @param message     错误信息
     */
    void onTokenInvalid(int requestCode, String message);

    /**
     * 请求码错误调用
     *
     * @param requestCode 请求码
     * @param message     错误信息
     * @param code        服务端错误码
     */
    void onError(int requestCode, String message, int code);
}
